﻿#pragma once
#include "zyCustomCtrol.h"

namespace BlackMoonUI {

	class zyAlphaLabel : public  zyCustomCtrol
	{
	public:
		zyAlphaLabel();
		~zyAlphaLabel();

		BOOL 创建(HWND 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 26 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		BOOL 创建(zyWindow& 参数_父窗口, const std::wstring& 参数_标题 = L"", POINT 参数_位置 = POINT{ 0, 0 }, POINT 参数_尺寸 = POINT{ 60, 26 },
			int 参数_ID = 0, int 参数_窗口风格 = 0, int 参数_扩展风格 = 0);
		COLORREF 文本色(COLORREF 参数_文本色);
		int 对齐方式(int 参数_对齐方式 = -1);
		bool 自动换行(bool 参数_自动换行);
		bool 自动换行();
		bool 垂直显示(bool 参数_垂直显示);
		bool 垂直显示();

	protected:
		void zyTransparentTextView_OnPaint(HWND hwnd, HDC hdc);
		void SetTextAlignment(Gdiplus::StringFormat& stringFormat, LONG_PTR align);
		static void  WINAPI zyAlphaLabel_Destroy(zyObject* obj);
		static LRESULT WINAPI zyAlphaLabel_WndProc(zyObject* obj, HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL* bHandled);
		void OnNCDestroy();

	};

}

